.\" Copyright (c) 2007-2009 Roy Marples
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd Jan 13, 2014
.Dt RC-UPDATE 8 SMM
.Os OpenRC
.Sh NAME
.Nm rc-update
.Nd add and remove services to and from a runlevel
.Sh SYNOPSIS
.Nm
.Op Fl s , -stack
.Ar add
.Ar service
.Op Ar runlevel ...
.Nm
.Op Fl s , -stack
.Op Fl a , -all
.Ar delete
.Ar service
.Op Ar runlevel ...
.Nm
.Op Fl u , -update
.Op Fl v , -verbose
.Ar show
.Op Ar runlevel ...
.Sh DESCRIPTION
OpenRC uses named runlevels.  Rather than editing some obscure
file or managing a directory of symlinks,
.Nm
exists to quickly add or delete services to and from from different runlevels.
All services must reside in the
.Pa /etc/init.d
or
.Pa /usr/local/etc/init.d
directories.
They must also be standard OpenRC scripts, meaning they must use
openrc-run.
.Pp
.Bl -tag -width "Fl a , -delete service"
.It Ar add Ar service
Add the
.Ar service
to the
.Ar runlevel
or the current one if none given.
Services added to the boot runlevel must exist in
.Pa /etc/init.d .
.It Ar delete Ar service
Delete the
.Ar service
from the
.Ar runlevel
or the current one if none given.
.It Ar show
Show all enabled services and the runlevels they belong to.  If you specify
runlevels to show, then only those will be included in the output.
.It Fl v , -verbose
Show all services.
.It Fl u , -update
Forces an update of the dependency tree cache.
This may be needed in the event of clock skew (a file in /etc is newer than the
system clock).
.El
.Pp
If the
.Fl s , -stack
option is given then we either add or remove the runlevel from the runlevel.
This allows inheritance of runlevels.

If the
.Fl a, -all
option is given, we remove the service from all runlevels. This is
useful, for example, to clean up the dangling symlinks after a service
is removed.
.Sh SEE ALSO
.Xr openrc 8 ,
.Xr openrc-run 8 ,
.Xr rc-status 8
.Sh AUTHORS
.An Roy Marples <roy@marples.name>
.An The OpenRC Team <openrc@gentoo.org>
